﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using SmartSiteManagementSystem.Models.User;

namespace SmartSiteManagementSystem.IServices
{
    public interface IUserService
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
       UserInfo GetUserInfoById(int id);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="loginName"></param>
        /// <returns></returns>
        UserInfo GetUserInfoByLogin(string loginName);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        int GetUserInfoListCount(Hashtable param);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="param"></param>
        /// <param name="orderBy"></param>
        /// <param name="first"></param>
        /// <param name="rows"></param>
        /// <returns></returns>
        IList<UserInfo> GetUserInfoList(Hashtable param, string orderBy, int first, int rows);


        /// <summary>
        /// 
        /// </summary>
        /// <param name="materialInfo"></param>
        /// <returns></returns>
        bool UpdateUserInfo(UserInfo userInfo);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="userInfo"></param>
        /// <returns></returns>
        int InsertUserInfo(UserInfo userInfo);


        #region userHealthMonitorInfo

        /// <summary>
        /// 
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        int GetHealthMonitorListCount(Hashtable param);


        /// <summary>
        /// 
        /// </summary>
        /// <param name="param"></param>
        /// <param name="orderBy"></param>
        /// <param name="first"></param>
        /// <param name="rows"></param>
        /// <returns></returns>
       IList<UserHealthMonitorInfo> GetHealthMonitorList(Hashtable param, string orderBy, int first, int rows)
            ;


        /// <summary>
        /// 
        /// </summary>
        /// <param name="logId"></param>
        /// <returns></returns>
        UserHealthMonitorInfo GetUserHealthMonitorInfoById(int logId);



        /// <summary>
        /// 
        /// </summary>
        /// <param name="logId"></param>
        /// <returns></returns>
        bool DeleteUserHealthMonitorInfoById(int logId);


        /// <summary>
        /// 
        /// </summary>
        /// <param name="userHealthMonitorInfo"></param>
        /// <returns></returns>
        int InsertUserHealthMonitorInfo(UserHealthMonitorInfo userHealthMonitorInfo);


        /// <summary>
        /// 
        /// </summary>
        /// <param name="userHealthMonitorInfo"></param>
        /// <returns></returns>
       bool UpdateUserHealthMonitorInfo(UserHealthMonitorInfo userHealthMonitorInfo);
        #endregion
    }
}
